home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / vdl020d.zip / README.1ST < prev    next >
Text File  |  1993-04-16  |  20KB  |  537 lines

  1. ─────────────────────────────────────────────────────────────────
  2. Visionix Developers Libraries (VDL)
  3. Release 0.20 BETA
  4. April 14, 1993
  5.  
  6. Copyright 1991-1993 Visionix
  7. ALL RIGHTS RESERVED
  8. ─────────────────────────────────────────────────────────────────
  9.  
  10. Visionix is a trademark of Visionix.
  11. Visionix Developers Libraries and VDL are trademarks of Visionix.
  12. VIOPRO is a trademark of Visionix.
  13.  
  14.  
  15. ABOUT VDL
  16. ─────────────────────────────────────────────────────────────────
  17. The  Visionix  Developers Libraries (VDL)  are  a  collection  of
  18. libraries  designed  to  make  software  development  easier  for
  19. Turbo/Borland Pascal programmers.  Years of experience  has  been
  20. put  into  this  design.  With but few exceptions,  this  product
  21. steps beyond the majority of pascal libraries, providing the most
  22. needed functions which programmers ask for - to be used as a case
  23. tool for applications and systems design.
  24.  
  25. Beta 0.20 is a test release only - please note that the libraries
  26. are  still under construction and that the naming conventions and
  27. the  like  are  not  settled upon.  We feel these  functions  are
  28. relatively  stable, but we do not intend for this version  to  be
  29. used  commercially.  So, if you do use this version, keep in mind
  30. some things may change between here and the final release.
  31.  
  32. It  is  our  hope that anyone who reviews or uses these libraries
  33. will send us a note on what they thought was wrong or right about
  34. them.
  35.  
  36. We  are  not  at all against making changes or adding  code  just
  37. because  we didn't think about this.  Also, if you have  some  of
  38. your  own libraries that you have found valuable, and if you  are
  39. interested  in distributing them with VDL, let us know  --  We're
  40. sure we can come up with an arrangement.
  41.  
  42. SEND ALL COMMENTS TO:
  43. ---------------------
  44.  
  45. US-Mail:                 Fido-Mail:
  46.  
  47. Visionix                 User: Visionix
  48. 1240 Golfview St         Node: 1:363/111
  49. Orlando, Fl 32804        SCSI Resource BBS
  50.                          407-862-4724
  51.                          USR Dual Standard
  52.  
  53. A NOTE ON VDL FILENAMES:
  54. ------------------------
  55.  
  56. VDL020D.ZIP  - VDL documentation files.
  57. VDL020U6.ZIP - VDL units for TP    6.0 (TPUs).
  58. VDL020U7.ZIP - VDL units for TP/BP 7.0 (TPUs and TPPs).
  59.  
  60.  
  61. ABOUT THE TPUs
  62. --------------
  63.  
  64. All the VDL TPUs start with the letter "V".
  65.  
  66. It should be noted that the TPU zip file contains a few TPU files
  67. that don't start with "V".  The Non-"V" TPUs are only temporarily
  68. included with this release, and will be removed or renamed in the
  69. final VDL release.
  70.  
  71. The  protected mode version of the units (TPPs) are not available
  72. for this BETA release.
  73.  
  74. ABOUT THE DOCUMENTATION:
  75. ------------------------
  76.  
  77. Please  pardon our dust as the documentation is not  complete  at
  78. this time, but is progressing steadily.
  79.  
  80. The  VDLxxxd.zip  file contains the current documentation.   This
  81. file  has one ????????.DOC file for each VDL unit.  The DOC  file
  82. contains  the  complete INTERFACE section  of  the  unit,  and  a
  83. description of each function.
  84.  
  85. ABOUT THE PRODUCT:
  86. ------------------
  87.  
  88. The Shareware version:
  89.  
  90. The ASCII documentation and TPU/TPP files will be distributed  as
  91. shareware.   Since  this is a BETA version of  VDL,  we  are  not
  92. interested in distributing it too much -- yet.  If you found  the
  93. VDL  files or someone gave them to you, well great.  Use them all
  94. you  want.   We wouldn't necessarily upload it to any other  BBSs
  95. yet  though.   Some people get confused about exactly what a BETA
  96. release is, and we'd hate to see someone develop code around  the
  97. BETA release, and then have all the function names change.
  98.  
  99. Registration of the final shareware release will be between  $50-
  100. $200.   We  haven't decided yet (Opinions are more  than  welcome
  101. --since  we think this is the best developers kit, we are looking
  102. to  continue to update it - so we'd like to make some money so we
  103. can  keep doing this!)  Because 400,000 copies of VDL will  never
  104. get paid for ;-) But hey, at least the fun people pay.
  105.  
  106. Registration of the shareware version will get you a copy of  the
  107. commercial version of the libraries.
  108.  
  109. The Commercial version:
  110.  
  111. The  commercial version is going to be advertised way in the back
  112. of  Dr.  Dobbs and other programmer oriented magazines, releasing
  113. with Borland support libraries, and many other "over-the-counter"
  114. methods.  The commercial version will include high-tech, printed,
  115. cute-looking,    graphical,   multi-font,    Pagemaker    created
  116. documentation in either 3-ring binders or actual books.
  117.  
  118. The  commercial  version will also include the  full  VDL  source
  119. code, technical support, and the right to have upgrades mailed to
  120. you  as  soon  as  they are available.  The registered  shareware
  121. version  and  the  commercial version are in  all  other  regards
  122. identical.
  123.  
  124. The  commercial  version  will cost the  same  as  the  shareware
  125. registered version: between $50-$200.
  126.  
  127.  
  128. INTRODUCTION
  129. ─────────────────────────────────────────────────────────────────
  130. The Visionix Developers Libraries fall into 7 categories:
  131.  
  132. General
  133. Console I/O
  134. User Interface
  135. Memory
  136. Devices
  137. File System
  138. O/S Specific
  139.  
  140. The  following  is a brief description of the VDL libraries.   In
  141. this  description,  a "?" before a file name indicates  that  the
  142. specific  library may not be in the VDL 1.0 release,  and  a  "*"
  143. before the file name indicates that it almost certainly will  not
  144. be in the 1.0 release, but is under development.
  145.  
  146.  
  147. General Libraries
  148. =================
  149.  
  150. VALARM    Internal alarm clock functions for timers, events, and
  151.           multi-purpose timer-tick functions.
  152.  
  153. VAPM      Advanced Power Management functions for laptop systems
  154.           which will report on power consumption and power
  155.           expediency.
  156.  
  157. VATM      Assign To Memory;  A Turbo Pascal Text File Device
  158.           Driver (TFDD) that writes its output to memory.  Great
  159.           for building screen displays or WView scrolling
  160.           displays.
  161.  
  162. VBIOS     Multiple routines to get information out of RAM and
  163.           ROM-BIOS.
  164.  
  165. VDATES    Time and Date functions; Julian, Gregorian and
  166.           DateTime.
  167.  
  168. VDOSHIGH  Extra functions for DOS calls.
  169.  
  170. VEQUIP    Equipment information unit;  reports info about
  171.           parallel ports and serial ports, floppy drives, bios
  172.           name/date, math coprocessor and game-port; info on the
  173.           primary and alternate consoles; and more.
  174.  
  175. VGEN      General functions; search and replace, buffer compares,
  176.           int, word, longint, byte, and pointer to hex-string
  177.           conversions and vise-versa; padding, trimming, and
  178.           string filling; ASCIIZ/String (C/PASCAL string)
  179.           conversion, and too much more to mention.
  180.  
  181. VMATH     Included are trigonometric, statistic, algebra, and
  182.           calculus functions.
  183.  
  184. VMULTI    MultiProc unit; for non-preemptive calling of "multi-
  185.           procedures" which can do things like on-screen clock,
  186.           "background" printing, etc.
  187.  
  188. VPROC     Sets up an easy "ExitProc" Stack, where you can push
  189.           and pop procedures onto.  Great for non-messy exits
  190.           that deallocates and resets memory, for example.
  191.  
  192. VRESFILE  Resource file; holds int, text, dialog, color & menu
  193.           info in a "????????.VRF" file; program can ask for
  194.           information from the resource file at run time.  Put
  195.           all the text of your program here, and its easy to
  196.           convert your software to other languages, without
  197.           recompiling.  Many other uses.
  198.  
  199. VTYPES    All the types and constants for the VDL libraries in
  200.           one central file.  No more hunting all over the system
  201.           for constants, flags, or error codes.
  202.  
  203.  
  204. Console Libraries
  205. =================
  206.  
  207. The  Visionix  Console I/O libraries allow for  the  creation  of
  208. input  and  output "channels" to which 1 or more console  drivers
  209. can be attached.  As an example, the included VCRT unit has a VIN
  210. driver for the keyboard and a VOUT driver for the CGA, EGA,  VGA,
  211. and  hercules  text-mode  screen.  The  VCRT  unit  automatically
  212. creates  one  "CRT input" channel to which it puts  its  keyboard
  213. driver,  and  one  "CRT  output" channel to  which  it  puts  its
  214. text-mode screen driver.  By calling the appropriate VIN and VOUT
  215. functions  when  its  Turbo  Pascal CRT  emulation  routines  are
  216. called,  VCRT  then serves as a full-functions Turbo  Pascal  CRT
  217. replacement unit, with the added advantage that your program  can
  218. add its own input or output drivers to the CRT channels, allowing
  219. you  to  replace, redirect, or add to VCRTs output.  For example,
  220. you  could add a driver to the CRT output channel which sent ANSI
  221. sequences  over a serial port, thereby allowing you  to  write  a
  222. BBS-door  that  used  STANDARD  CRT  function  calls!   Much   to
  223. functional  to fully explain here; for more info, check  out  the
  224. manual (when available).
  225.  
  226.  
  227. VIN       Channel management library for input consoles.
  228.  
  229. VOUT      Channel management library for output consoles.
  230.  
  231. VCRT      Turbo Pascal CRT replacement unit; works through
  232.           VIN/VOUT.
  233.  
  234. ?VCRTFAST CRT replacement unit--direct to video; FAST and
  235.           efficient.
  236.  
  237. ?VANSI    ANSI functions library and VOUT/VIN drivers for ANSI.
  238.  
  239. ?VAVATAR  AVATAR functions library and VOUT/VIN drivers for
  240.           AVATAR.
  241.  
  242. ?VIOPRO   VIOPRO functions library and VOUT/VIN drivers for
  243.           VIOPRO (VIOPRO=Visual I/O PROtocol, a collection of
  244.            extensions to AVATAR we have come up with to allow for
  245. BBS based "graphical" user interface with windows,
  246.           dialog boxes, etc).
  247.  
  248. *VTERMCAP Unix TERMCAP functions library and VOUT/VIN drivers for
  249.           TERMCAP supported terminals.
  250.  
  251. VCOLOR    Color & Color Palette management.
  252.  
  253. *VPOINT   Library for pointer devices.
  254.  
  255. VFONT     EGA/VGA Font Manipulation Unit.  Create your own fonts
  256.           and bitmap them into usable icons.
  257.  
  258.  
  259. User Interface Libraries
  260. ========================
  261.  
  262. The Visionix User Interface (VUI) libraries are a complete set of
  263. user  interface  libraries, including support for windows,  push-
  264. buttons, radio buttons, check boxes, pick-lists, formatted  text,
  265. integer,  hex   and "mask" based input, dialog boxes,  fixed  and
  266. scrolling  menus,  scrollable "view" windows,  form-based  input,
  267. full mouse support, and more.
  268.  
  269. The VUI libraries:
  270.  
  271. o    Supports all VGA/EGA/CGA/Hercules text modes.
  272.  
  273. o    not event driven or object oriented (admittedly, this may be
  274.      as much of a disadvantage as an advantage).
  275.  
  276. o    easy to use, quick to get up and running.
  277.  
  278. o    variety of "looks", including norton utils PC-TOOLS
  279.      redefined text character "graphics look", and several other
  280.      clean and efficient "looks".
  281.  
  282. Additionally, three "frameworks" or templates are supplied to
  283. allow   you   to   develop  VUI  applications   quickly.    These
  284. "frameworks" include:
  285.  
  286. o    Visionix Action Object framework (VAOFrame).
  287.  
  288. o    Visionix Modal-Menu (VMMFrame).
  289.  
  290. o    Visionix Drop-Down menu framework (VDDFrame).
  291.  
  292.  
  293. VWINLOW   Window creation and management library.
  294.  
  295. VWINHIGH  High-level window functions: Dialog boxes, menus etc.
  296.  
  297. VFORM     Form creation and control library.
  298.  
  299. VACTWIN   "Action Window" library.
  300.  
  301. VHELP     ASCII file-based, indexed help system.  Allows you to
  302.           create ASCII help files using a simple "help language"
  303.           that lets you define help screens with buttons that can
  304.           have GOSUB or GOTO connections to other help screens.
  305.  
  306. ?VWFSBOX  Window File Selection box that allows a user to pick
  307.           a file from a list of files.  Like the standard file
  308.           open/close dialog boxes in windows.
  309.  
  310.  
  311. Memory Access & Management Libraries
  312. ====================================
  313.  
  314. The Visionix Memory Access & Management libraries support the
  315. creation  and  usage of multiple "heaps" which can  be  based  in
  316. "DOS" (below 1mb) memory, EMS, XMS, or paged in from disk.  After
  317. a  heap  has  been created, the caller can allocate or deallocate
  318. memory from the heap.   This BETA release only supports usage  of
  319. normal DOS memory, and doesn't have multiple heap support.
  320.  
  321. VMEM      Memory/Heap management library, supports variety of
  322.           memory methods.
  323.  
  324. VEMS      DOS/EMS library.
  325. VXMS      DOS/XMS library.
  326.  
  327.  
  328. Operating Environment Specific Libraries
  329. ========================================
  330.  
  331. The  Visionix  Operating Environment Specific  Libraries  provide
  332. functions  that interface with functions that are specific  to  a
  333. given operating environment (DOS and OS/2 DOS boxes in this case)
  334.  
  335. VVDS      Virtual DMA Services library.
  336.  
  337. VDPMI     DOS Protected Mode Interface library.
  338.  
  339.  
  340. Device Access & Management Libraries
  341. ====================================
  342.  
  343. Serial Channel Libraries
  344. ------------------------
  345.  
  346. The  Serial  Channel Libraries allow for the creation  of  serial
  347. communication  channels, to which a single serial driver  can  be
  348. added.   This  architecture allows us to present a single  serial
  349. programming  interface which will work on  a  variety  of  serial
  350. communication uarts or drivers.
  351.  
  352. VSER      Serial channel management library.
  353.  
  354. VSERLOW   Serial channel common data and methods defined.
  355.  
  356. *VSERHI   High-level serial library; zmodem, terminal, etc.
  357.  
  358. VFOS      Serial channel driver for the FOSSIL (Fido, Opus,
  359.           Seadog interface library) INT 14 based serial
  360.           interface.
  361.  
  362. *VUART    Serial channel driver for the 8250, 16450 and 16550
  363.           serial controller UARTs;  fully interrupt driven code.
  364.           Takes advantage of 16550s on-board FIFOs for enhanced
  365.           performance in multi-tasking environments.
  366.  
  367. *VNETI14  Serial channel driver for networked "shared" modems,
  368.           allows for usage of modems which are not connected
  369.           to a machines local serial ports.
  370.  
  371. *VDIGIBRD Serial channel driver for DigiBoard multi-port serial
  372.           controllers and compatible.
  373.  
  374. *VSTRGATE Serial channel driver for StarGate multi-port serial
  375.           controller and compatible.
  376.  
  377. MIDI Libraries
  378. --------------
  379. THIS LIBRARY IS NOT LIKELY TO BE INCLUDED IN THE VDL 1.0 RELEASE.
  380.  
  381. The  Visionix MIDI communications library allows for full  access
  382. and control of any MPU-401 compatible midi controller, as well as
  383. Windows 3.1 and Windows NT compliant drivers.
  384.  
  385. *VMIDI         MIDI communications library.
  386.  
  387. *VMIDIHIGH     High-level MIDI library; Play notes, SysEx dump,
  388.                MIDI standard Sample dump, MIDI standard file
  389.                transfers, etc.
  390.  
  391. SCSI Libraries
  392. --------------
  393.  
  394. The Visionix SCSI libraries allow for full access and control  of
  395. any  SCSI  device, including (but not limited to) Disk, Removable
  396. Disk,  Magneto  Optical,  Tape,  Printer,  Scanner,  and  Network
  397. controller.
  398.  
  399. The  Visionix SCSI abstraction library allows your program to run
  400. on any host adapter that supports the ASPI, CAM, SDLP, HACMAN, or
  401. SyQuest Software Utility Interface programming interfaces. Simple
  402. functions allow you to execute any SCSI Command Descriptor  Block
  403. (CDB)  without learning all the complicated details of your  host
  404. adapter  or  SCSI  software  manager.   Additionally,  the   SCSI
  405. Abstraction Library-HIGH (VSALHIGH) library implements a function
  406. for  every  SCSI-2 command, so you don't even have to  build  the
  407. CDBs yourself.
  408.  
  409. VSAL      SCSI Abstraction library, supports variety of SCSI
  410.           execution methods.
  411.  
  412. VASPI     ASPI functions library.
  413.  
  414. ?VSDLP    SDLP functions library that uses an SDLP BIOS or
  415.           implements all SDLP functions locally.
  416.  
  417. ?VHACMAN  HAC (host adapter channel) Manager functions library.
  418.  
  419. *VCAM     CAM  functions library.
  420.  
  421. VSALHIGH  High-level SCSI functions; SCSI-2 command set, disk,
  422.           cd-rom, tape, worm, processor, printer, etc.
  423.  
  424. CD-ROM Interface libraries
  425. --------------------------
  426.  
  427. The  Visionix CD-ROM interface library allows you to  access  and
  428. control  any  Microsoft  CD-ROM  Extensions  (MSCDEX)  compatible
  429. CD-ROM drive.  The library supplies easy to use functions to play
  430. audio   tracks,   minute:second  regions,  block  regions;   read
  431. "Q-Channel" (or play time) information, read track indexes, pause
  432. drives, eject disks, and more.
  433.  
  434. ?VCDROM   Generic CD-ROM interface library.  Uses VMSCDEX or
  435.           VSCSICD.
  436.  
  437. VMSCDEX   Microsoft CD-ROM Extensions interface library.
  438.  
  439. ?VSCSICD  Direct SCSI CD-ROM library that does not require
  440.           MSCDEX.EXE.  Works on NEC, Chinon, Denon, Toshiba,
  441.           Sony, Texel, Hitachi, and SKC SCSI CD-ROM drives.
  442.  
  443. Disk Interface libraries
  444. ------------------------
  445.  
  446. *VDISK    Direct-access/DISK device library.
  447.  
  448. *VINT13   Interrupt 13 disk library.
  449.  
  450. Sequential Access (TAPE) interface libraries
  451. --------------------------------------------
  452.  
  453. *VTAPE    Sequential-access/Tape device library.  Supports
  454.           buffered reads and writes, filemarks, setmarks, and
  455.           more.
  456.  
  457. *VCPIO    Unix copy in/out (CPIO) file functions.
  458.  
  459. Network communications libraries
  460. --------------------------------
  461.  
  462. *VPIPES   Inter-process and inter-node communications library.
  463.  
  464.  
  465. File System Libraries
  466. ======================
  467.  
  468. VCOPY     Intelligent file-copying unit.  Great for install
  469.           programs, xcopy replacements, etc.  Supports wildcards,
  470.           file-lists, move operations, date/time ranges,
  471.           attributes, and more.  Many useful functions within one
  472.           function call.
  473.  
  474. *VDOS     Turbo Pascal DOS replacement library.  Performs I/O
  475.           via DOS calls or via VFAT or VMACFS, allowing direct
  476.           access to FAT or MAC filesystems.
  477.  
  478. ?VFDISK   FDISK Partitioning library.
  479.  
  480. ?VSDPS    SDPS Partitioning library.
  481.  
  482. ?VFAT     Direct FAT file-system manipulation library; provides
  483.           access to FAT filesystems without going through DOS.
  484.  
  485. *VMACFS   MACintosh file system library (similar to VFAT, but
  486.           works on media formatted with the MAC filesystem).
  487.  
  488. Demo programs included with VDL
  489. ===============================
  490.  
  491. VISTERM   A Simple ANSI terminal program.  Uses VDL serial
  492.           libraries, VDL user interface libraries, general
  493.           functions, etc.
  494.  
  495. VISCAL    A Simple Calendar program.   Uses VDL data/time
  496.           libraries.
  497.  
  498. VDLMAN    Visionix Developers Libraries Manual manipulation
  499.           program.
  500.  
  501. VISMENU   A Simple DOS menu program.
  502.  
  503. VISSCSI   A Simple SCSI CDB execution program.  Uses VDL SCSI
  504.           VDL SCSI libraries.
  505.  
  506. VISXCOPY  A XCOPY replacement program.  Uses VCOPY.
  507.  
  508. VISPLAY   A Simple CD-ROM audio control panel:  Play, stop,
  509.           pause, track skip, etc.  Uses VDL CD-ROM audio
  510.           libraries.
  511.  
  512. INSTALL   A simple, generic install program.
  513.  
  514.  
  515. FINAL COMMENTS
  516. ─────────────────────────────────────────────────────────────────
  517. C++ is dominating the market as the standard for programming, but
  518. this  does  not mean it is the best language.  Borland  has  been
  519. attempting to create a language of their own which has no  limits
  520. or  committees designating what they can or can not do.  This  is
  521. Turbo  Pascal - a language with small beginnings, but is  quickly
  522. becoming a dominating force in the programming world.
  523.  
  524. With  ever  more  APIs  and programmers coming  into  the  world,
  525. standardization is harder than ever.  So, with new committees and
  526. standards  becoming commonplace, true genius and  expression  has
  527. been  inversely declining.  How does one begin with a new concept
  528. and exploit it when everyone is yelling stop?
  529.  
  530. Never  forget the whole concept of the personal computer and  its
  531. roots  - individual control and power - not networked, organized,
  532. and   governed  isolationism.   This  might  sound  old-fashioned
  533. "hackerism", but there is much truth in it.  Too much  government
  534. will  stall  this  great and open industry - and  it  is  to  the
  535. programmers of today and tomorrow to be without limits.  Our hats
  536. goes off to Borland.
  537.